﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace ConfigInfoWebPlatform.API.ViewModel
{

    // 注意: 生成的代码可能至少需要 .NET Framework 4.5 或 .NET Core/Standard 2.0。
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(ElementName = "root", Namespace = "", IsNullable = false)]
    public partial class ProcessViewModel
    {

        private Analysis analysiField;

        private Optimize optimizeField;

        private string typeField;

        private string explainField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("analysis")]
        public Analysis Analysis
        {
            get
            {
                return this.analysiField;
            }
            set
            {
                this.analysiField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("optimize")]
        public Optimize Optimize
        {
            get
            {
                return this.optimizeField;
            }
            set
            {
                this.optimizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("type")]
        public string Type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("explain")]
        public string Explain
        {
            get
            {
                return this.explainField;
            }
            set
            {
                this.explainField = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class Analysis {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("step")]
        public List<Step> Steps { get; set; }
    }



    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class Step
    {

        private string numberField;

        private string executefileField;

        private string executetypeField;

        private string executecodeField;

        private string codeField;

        private string zh_cnField;

        private string groupstepcodeField;

        private byte steptypeField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("number")]
        public string Number
        {
            get
            {
                return this.numberField;
            }
            set
            {
                this.numberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("executefile")]
        public string ExecuteFile
        {
            get
            {
                return this.executefileField;
            }
            set
            {
                this.executefileField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("executetype")]
        public string ExecuteType
        {
            get
            {
                return this.executetypeField;
            }
            set
            {
                this.executetypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("executecode")]
        public string ExecuteCode
        {
            get
            {
                return this.executecodeField;
            }
            set
            {
                this.executecodeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("code")]
        public string Code
        {
            get
            {
                return this.codeField;
            }
            set
            {
                this.codeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("zh_cn")]
        public string Zh_cn
        {
            get
            {
                return this.zh_cnField;
            }
            set
            {
                this.zh_cnField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("groupstepcode")]
        public string GroupStepCode
        {
            get
            {
                return this.groupstepcodeField;
            }
            set
            {
                this.groupstepcodeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("steptype")]
        public byte StepType
        {
            get
            {
                return this.steptypeField;
            }
            set
            {
                this.steptypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class Optimize
    {

        private List<Groupstep> groupstepField;

        private List<Step> stepField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("groupstep")]
        public List<Groupstep> GroupSteps
        {
            get
            {
                return this.groupstepField;
            }
            set
            {
                this.groupstepField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("step")]
        public List<Step> Steps
        {
            get
            {
                return this.stepField;
            }
            set
            {
                this.stepField = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class Groupstep
    {

        private List<Step> stepField;

        private string zh_cnField;

        private byte steptypeField;

        private string codeField;

        private string startField;

        private string endField;
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("step")]
        public List<Step> Steps
        {
            get
            {
                return this.stepField;
            }
            set
            {
                this.stepField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("code")]
        public string Code
        {
            get
            {
                return this.codeField;
            }
            set
            {
                this.codeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("zh_cn")]
        public string Zh_cn
        {
            get
            {
                return this.zh_cnField;
            }
            set
            {
                this.zh_cnField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("steptype")]
        public byte StepType
        {
            get
            {
                return this.steptypeField;
            }
            set
            {
                this.steptypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("start")]
        public string Start
        {
            get
            {
                return this.startField;
            }
            set
            {
                this.startField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("end")]
        public string End
        {
            get
            {
                return this.endField;
            }
            set
            {
                this.endField = value;
            }
        }

    }


}





